package com.yuwen.yuwenRPC.serializer;


import java.io.IOException;

/**
 * 序列化器接口
 */
public interface Serializer {

    /**
     * 序列化
     * @param obj 被序列化的对象
     * @return 字节数组
     * @throws IOException IOE异常
     */
    <T> byte[] serialize(T obj) throws IOException;

    /**
     * 反序列化
     * @param bytes 字节数组
     * @param clazz T的 类型
     * @return T类
     * @param <T> 泛型
     * @throws IOException IOE异常
     */
    <T> T deserialize(byte[] bytes, Class<T> clazz) throws IOException;


}
